﻿///    /************************************************************************ 
///     * uoLib library for .Net projects.
///     * Copyright (c) 2009 by uonun
///     * Homepage: http://uolib.ourome.com
///     * 
///     * This program is free software: you can redistribute it and/or modify
///     * it under the terms of the GNU General Public License as published by
///     * the Free Software Foundation, either version 3 of the License, or
///     * (at your option) any later version.

///     * This program is distributed in the hope that it will be useful,
///     * but WITHOUT ANY WARRANTY; without even the implied warranty of
///     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
///     * GNU General Public License for more details.

///     * You should have received a copy of the GNU General Public License
///     * along with this program.  If not, see http://www.gnu.org/licenses/gpl.html.
///     ***********************************************************************/ 

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;

namespace uoLib.Data.Factories
{
    class SqlClientConnFactory:IConnectionFactory
    {

        #region IConnectionFactory 成员

        public DbCommand CreateCommand()
        {
            return new SqlCommand();
        }

        public DbConnection CreateConnection()
        {
            return new SqlConnection();
        }

        public DbDataAdapter CreateDataAdapter()
        {
            return new SqlDataAdapter();
        }
        public DbDataAdapter CreateDataAdapter(DbCommand cmd)
        {
            return new SqlDataAdapter((SqlCommand)cmd);
        }

        public DbDataReader CreateDataReader(DbCommand cmd)
        {
            return (SqlDataReader)cmd.ExecuteReader();
        }

        public DbDataReader CreateDataReader(DbCommand cmd, CommandBehavior behavior)
        {
            return (SqlDataReader)cmd.ExecuteReader(behavior);
        }

        public DbCommandBuilder CreateCommandBuilder()
        {
            return new SqlCommandBuilder();
        }

        public DbConnectionStringBuilder CreateConnectionStringBuilder()
        {
            return new SqlConnectionStringBuilder();
        }

        public DbParameter CreateParameter()
        {
            return new SqlParameter();
        }

        #endregion
    }
}
